package com.ruijiang.controller.vm_service;

import com.ruijiang.controller.ApiPrefix;
import com.ruijiang.dto.page.SkuPageDto;
import com.ruijiang.result.PageResult;
import com.ruijiang.service.VmService.SkuClassService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

@RestController
@RequestMapping(ApiPrefix.VM_SERVICE+"/skuClass")
@Slf4j
public class SkuClassController {

    @Autowired
    SkuClassService skuClassService;

    /**
     * 根据商品类型名称返回商品类型
     *
     * @param skuPageDto
     * @return
     */
    @GetMapping("/search")
    public PageResult getSkuListBySkuClass(SkuPageDto skuPageDto) {
        log.info("根据商品类型名称返回商品类型 {}", skuPageDto);
        PageResult pageResult = skuClassService.getSkuListBySkuClass(skuPageDto);
        return pageResult;
    }


    /**
     * 根据类型id修改商品类型
     * @param classId
     * @return
     */
    @PutMapping("/{classId}")
    public Boolean updateSkuClassByClassId(@PathVariable Integer classId, @RequestBody SkuPageDto skuPageDto){
        log.info("根据类型id修改商品类型{}，{}",classId,skuPageDto);
        skuClassService.updateSkuClassByClassId(classId,skuPageDto);
        return true;
    }


    /**
     * 根据类型id删除商品类型
     * @param classId
     * @return
     */
    @DeleteMapping("/{classId}")
    public Boolean deleteByClassId(@PathVariable Integer classId){
        log.info("根据类型id删除商品类型{}",classId);
        skuClassService.deleteByClassId(classId);
        return true;
    }


    /**
     * 添加商品类型
     * @param skuPageDto
     * @return
     */
    @PostMapping
    public Boolean insertSkuClass(@RequestBody SkuPageDto skuPageDto){
        log.info("添加商品类型{}",skuPageDto);
        skuClassService.insertSkuClass(skuPageDto);
        return true;
    }



}
